package com.example.kotlinstudy.dataclass

import org.junit.Test

/**
 * 还提供了一个copy函数
 */
data class Data(var _name: String, val age: Int) {
    var score = 10

    constructor(_name: String) : this(_name, 10) {
        score = 100
    }

    override fun toString(): String {
        return "Data(_name='$_name', age=$age, score=$score)"
    }


}

class DataClassTest2 {
    @Test
    fun test1() {
        val s = Data("jack")
        val s2 = s.copy(_name = "Rose")   //会重新来一个对象
//        s2.score=100  // 这里有一个问题，copy的时候次构造函数不会调用
        println(s)
        println(s2)
    }
}